package com.bitejiuyeke.job_publish.service;

import com.bitejiuyeke.job_publish.common.PageResult;
import com.bitejiuyeke.job_publish.model.SendRecord;
import org.springframework.transaction.annotation.Transactional;

public interface ISendRecordService {

    /**
     * 新增投递记录
     * @param record
     */
    @Transactional
    void create (SendRecord record);

    /**
     * 根据Id查询制投递记录
     * @param id 投递记录Id
     * @return SendRecord
     */
    SendRecord selectById (Long id);

    /**
     * 修改投递记录状态
     * @param record 投递记录
     */
    void modifyState (SendRecord record);

    /**
     * 根据接收者查询投递总数
     * @param record
     * @return
     */
    int selectTotalByReceiveUser(SendRecord record);

    /**
     * 根据接收者查询投递分页列表
     *
     * @param record
     * @return
     */
    PageResult<SendRecord> selectPageByReceiveUser (SendRecord record);

    /**
     * 根据投递者查询投递总数
     * @param record
     * @return
     */
    int selectTotalByUser(SendRecord record);

    /**
     * 根据投递者查询投递分页列表
     *
     * @param record
     * @return
     */
    PageResult<SendRecord> selectPageByUser (SendRecord record);

    /**
     * 发布者查询职位下投递总数
     * @param record
     * @return
     */
    int selectTotalByJob(SendRecord record);

    /**
     * 发布者查询职位下分页列表
     * @param record
     * @return
     */
    PageResult<SendRecord> selectPageByJob (SendRecord record);

}
